﻿<%-- 
     Deze pagina geeft een kort overzicht van de bands die in onze database zitten
     Naargelang type user (admin, manager, user) krijg je rechten voor lezen, wijzigen verwijderen en invoeren
--%>

<%@ Page Title="" Language="C#" MasterPageFile="~/festival.Master" AutoEventWireup="true" CodeBehind="bands.aspx.cs" Inherits="groep20_festival.bands" %>

<asp:Content ID="Content1" ContentPlaceHolderID="main" runat="server">
    <h2 id="demoHeaders">Bands</h2>


    <%-- gridview die de bands weergeeft --%>
    <asp:EntityDataSource ID="EntityDataSource1" runat="server" ConnectionString="name=groep20_festivalsEntities" DefaultContainerName="groep20_festivalsEntities" EnableDelete="True" EnableFlattening="False" EnableInsert="True" EnableUpdate="True" EntitySetName="Bands" EntityTypeFilter="Bands" OnSelecting="EntityDataSource1_Selecting">
    </asp:EntityDataSource>
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="band_id" DataSourceID="SqlDataSource1" EmptyDataText="There are no data records to display." AllowSorting="True" CellPadding="4" CellSpacing="4" Font-Size="Small" ForeColor="#333333" GridLines="None" Height="316px" Width="577px"  ShowFooter="True">
        <AlternatingRowStyle BackColor="White" />
        <Columns>

            <asp:TemplateField HeaderText="naam" SortExpression="band_naam">
                <EditItemTemplate>
                    <%-- textbox met validatie, waarde wordt doorgegeven --%>
                    <asp:TextBox ID="txtna" runat="server" Text='<%# Bind("band_naam") %>'></asp:TextBox>
                <asp:RequiredFieldValidator ID="rfvEditName" ValidationGroup="UPDATE" runat="server" ErrorMessage="name is required field"
                    ControlToValidate="txtna" Text="*" ForeColor="Red">
                 </asp:RequiredFieldValidator>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("band_naam") %>'></asp:Label>
                </ItemTemplate>
                <FooterTemplate>
                    <%-- textbox met validatie, waarde wordt doorgegeven --%>
                    <asp:TextBox ID="txtnaam" runat="server"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="rfvInsertName" ValidationGroup="INSERT" runat="server" ErrorMessage="name is required field"
                    ControlToValidate="txtnaam" Text="*" ForeColor="Red">
                 </asp:RequiredFieldValidator>
                </FooterTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="soort muziek" SortExpression="band_soortMuziek">
                <EditItemTemplate>
                    <%-- textbox met validatie, waarde wordt doorgegeven --%>
                    <asp:TextBox ID="txtsoort" runat="server" Text='<%# Bind("band_soortMuziek") %>'></asp:TextBox>
               <asp:RequiredFieldValidator ID="rfvEditSoort" ValidationGroup="UPDATE" runat="server" ErrorMessage="type is required field"
                    ControlToValidate="txtsoort" Text="*" ForeColor="Red">
                 </asp:RequiredFieldValidator>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label2" runat="server" Text='<%# Bind("band_soortMuziek") %>'></asp:Label>
                </ItemTemplate>
                <FooterTemplate>
                    <%-- textbox met validatie, waarde wordt doorgegeven --%>
                    <asp:TextBox ID="txtsoortmuziek" runat="server"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="rfvInsertSoort" ValidationGroup="INSERT" runat="server" ErrorMessage="type is required field"
                    ControlToValidate="txtsoortmuziek" Text="*" ForeColor="Red">
                 </asp:RequiredFieldValidator>
                </FooterTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="url" SortExpression="band_url">
                <EditItemTemplate>
                    <%-- textbox met validatie, waarde wordt doorgegeven --%>
                    <asp:TextBox ID="txturl" runat="server" Text='<%# Bind("band_url") %>'></asp:TextBox>
                    <asp:RequiredFieldValidator ID="rfvEditUrl" ValidationGroup="UPDATE" runat="server" ErrorMessage="url is required field"
                    ControlToValidate="txturl" Text="*" ForeColor="Red">
                 </asp:RequiredFieldValidator>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label3" runat="server" Text='<%# Bind("band_url") %>'></asp:Label>
                </ItemTemplate>
                <FooterTemplate>
                    <%-- textbox met validatie, waarde wordt doorgegeven --%>
                    <asp:TextBox ID="txturl2" runat="server"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="rfvInsertUrl" ValidationGroup="INSERT" runat="server" ErrorMessage="url is required field"
                    ControlToValidate="txturl2" Text="*" ForeColor="Red">
                 </asp:RequiredFieldValidator>
                </FooterTemplate>
            </asp:TemplateField>
            <asp:TemplateField ShowHeader="False">
                <EditItemTemplate>
                    <%-- knop met validatie met validatiegroep voor specifieke foutmelding --%>
                    <asp:LinkButton ID="LinkButton1" ValidationGroup="UPDATE" runat="server" CausesValidation="True" CommandName="Update" Text="Update"></asp:LinkButton>
                    &nbsp;<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"></asp:LinkButton>
                </EditItemTemplate>
                <ItemTemplate>
                     <%-- knop met validatie met validatiegroep voor specifieke foutmelding --%>
                    <asp:LinkButton ID="lblEdit" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit"></asp:LinkButton>
                    &nbsp;<asp:LinkButton ID="lblDelete" runat="server" CausesValidation="False" CommandName="Delete" Text="Delete"></asp:LinkButton>
                </ItemTemplate>
                <FooterTemplate>
                    <asp:LinkButton ID="lblInsert" OnClick="lblInsert_Click" ValidationGroup="INSERT" runat="server">Insert</asp:LinkButton>
                </FooterTemplate>
            </asp:TemplateField>
            
             
        </Columns>
        
        
        <EditRowStyle BackColor="#2461BF" />
        <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
        <RowStyle BackColor="#EFF3FB" />
        <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
        <SortedAscendingCellStyle BackColor="#F5F7FB" />
        <SortedAscendingHeaderStyle BackColor="#6D95E1" />
        <SortedDescendingCellStyle BackColor="#E9EBEF" />
        <SortedDescendingHeaderStyle BackColor="#4870BE" />
    </asp:GridView>

    <br />
    <%-- Hier komen de validatiefouten --%>
    <asp:ValidationSummary ValidationGroup="INSERT" ID="ValidationSummary1" ForeColor="Red" runat="server" />
     <asp:ValidationSummary ValidationGroup="UPDATE" ID="ValidationSummary2" ForeColor="Red" runat="server" />

    <br />
    <%-- Connectie met de databank met query om de juiste data op te halen --%>

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:groep20_festivalsConnectionString1 %>" DeleteCommand="DELETE FROM [Bands] WHERE [band_id] = @original_band_id AND [band_naam] = @original_band_naam AND [band_soortMuziek] = @original_band_soortMuziek AND (([band_url] = @original_band_url) OR ([band_url] IS NULL AND @original_band_url IS NULL))" InsertCommand="INSERT INTO [Bands] ([band_naam], [band_soortMuziek], [band_url]) VALUES (@band_naam, @band_soortMuziek, @band_url)" SelectCommand="SELECT [band_id], [band_naam], [band_soortMuziek], [band_url] FROM [Bands]" UpdateCommand="UPDATE [Bands] SET [band_naam] = @band_naam, [band_soortMuziek] = @band_soortMuziek, [band_url] = @band_url WHERE [band_id] = @original_band_id AND [band_naam] = @original_band_naam AND [band_soortMuziek] = @original_band_soortMuziek AND (([band_url] = @original_band_url) OR ([band_url] IS NULL AND @original_band_url IS NULL))" ConflictDetection="CompareAllValues" OldValuesParameterFormatString="original_{0}">
        <DeleteParameters>
            <asp:Parameter Name="original_band_id" Type="Int32" />
            <asp:Parameter Name="original_band_naam" Type="String" />
            <asp:Parameter Name="original_band_soortMuziek" Type="String" />
            <asp:Parameter Name="original_band_url" Type="String" />
        </DeleteParameters>
        <InsertParameters>
            <asp:Parameter Name="band_naam" Type="String" />
            <asp:Parameter Name="band_soortMuziek" Type="String" />
            <asp:Parameter Name="band_url" Type="String" />
        </InsertParameters>
        <UpdateParameters>
            <asp:Parameter Name="band_naam" Type="String" />
            <asp:Parameter Name="band_soortMuziek" Type="String" />
            <asp:Parameter Name="band_url" Type="String" />
            <asp:Parameter Name="original_band_id" Type="Int32" />
            <asp:Parameter Name="original_band_naam" Type="String" />
            <asp:Parameter Name="original_band_soortMuziek" Type="String" />
            <asp:Parameter Name="original_band_url" Type="String" />
        </UpdateParameters>
    </asp:SqlDataSource>
</asp:Content>

 

<%--  
     Author: Burak Kodalci
     Created: 25/05/2013
     Updates: invoeren gridview, connectie databank, validatie

--%>